// 计时器 注册
function timer() {
    timeFlag--;
    objCode.innerHTML = timeFlag + "秒后重新获取";
    if(timeFlag == 0){
        objCode.innerHTML = "获取验证码";
        timeFlag = 60;
    }else {
        setTimeout("timer()", 1000); //递归调用timer()（1s后调用timer()）
    }
}

// 检验手机号是否合法 注册
function checkPhone(userPhone){
    $("#registPhone").css("display", "block");  //显示提示
    $("#tipPhoneMsg").removeClass("alert-success"); //移除绿色
    $("#tipPhoneMsg").addClass("alert-danger");     //显示红色

    var phone = userPhone;
    var flag = false;

    var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(17[0-9]{1})|(15[0-3]{1})|(15[4-9]{1})|(18[0-9]{1})|(199))+\d{8})$/;

    if (phone == '') {
        $("#tipPhoneMsg").html("请输手机号！");
    } else if (phone.length != 11) {
        $("#tipPhoneMsg").html("请输11位手机号！");
    } else if (!myreg.test(phone)) {
        $("#tipPhoneMsg").html("无效的手机号！");
    } else {
        flag = true;
        $("#tipPhoneMsg").html("手机号通过！");
        $("#tipPhoneMsg").removeClass("alert-danger");  //移除红色
        $("#tipPhoneMsg").addClass("alert-success");    //显示绿色
    }
    return flag;
}

// 计时器 登录
function loginTimer() {
    loginTimeFlag--;
    phoneCode.innerHTML = loginTimeFlag + "秒后重新获取";
    if(loginTimeFlag == 0){
        phoneCode.innerHTML = "获取验证码";
        loginTimeFlag = 60;
    }else {
        setTimeout("loginTimer()", 1000);
    }
}

// 检验手机号是否合法 登录
function checkLoginPhone(userPhone){
    $("#userPhoneTip").css("display", "block");  //显示提示
    $("#userPhoneMsg").removeClass("alert-success"); //移除绿色
    $("#userPhoneMsg").addClass("alert-danger");     //显示红色

    var phone = userPhone;
    var flag = false;

    var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(17[0-9]{1})|(15[0-3]{1})|(15[4-9]{1})|(18[0-9]{1})|(199))+\d{8})$/;

    if (phone == '') {
        $("#userPhoneMsg").html("请输手机号！");
    } else if (phone.length != 11) {
        $("#userPhoneMsg").html("请输11位手机号！");
    } else if (!myreg.test(phone)) {
        $("#userPhoneMsg").html("无效的手机号！");
    } else {
        flag = true;
        $("#userPhoneMsg").html("手机号通过！");
        $("#userPhoneMsg").removeClass("alert-danger");  //移除红色
        $("#userPhoneMsg").addClass("alert-success");    //显示绿色
    }
    return flag;
}

//向后台获取验证码 注册
var timeFlag = 60;
var objCode = document.getElementById("getCode");  //获取 验证码a标签
objCode.onclick = function () {
    var phone = document.getElementById("userPhone").value;  //获取手机号

    //防止第二次点击的时候，依然调用一次定时器
    if(timeFlag < 60){
        return;
    }

    //判断手机号是否合法
    if(checkPhone(phone) == true){
        //发送ajax请求到后台
        $.ajax({
            url: "/user/getCode",
            data: {"phone":phone},
            method: "post"
        });

        timer(objCode); //调用定时器
    }
};

// 向后台获取验证码 登录
var loginTimeFlag = 60;
var phoneCode = document.getElementById("getPhoneCode");  //获取 验证码a标签
phoneCode.onclick = function () {
    var phone = document.getElementById("loginPhone").value;  //获取手机号

    //防止第二次点击的时候，依然调用一次定时器
    if(loginTimeFlag < 60){
        return;
    }

    //判断手机号是否合法
    if(checkLoginPhone(phone) == true){
        //发送ajax请求到后台
        $.ajax({
            url: "/user/getCode",
            data: {"phone":phone},
            method: "post"
        });

        loginTimer(); //调用定时器
    }
};


//检查用户名是否存在
function checkUser(obj) {
    //异步校验
    $.ajax({
        url: "/user/checkUserName",
        data: {"username":obj.value},
        method: "post",

        //验证成功的回调函数
        success:function (data) {

            $("#registName").css("display", "block");  //显示提示

            if(data == 102){ //用户已存在
                $("#tipNameMsg").html("用户名已存在");
                $("#tipNameMsg").removeClass("alert-success"); //移除绿色
                $("#tipNameMsg").addClass("alert-danger");     //显示红色
            }else {
                $("#tipNameMsg").html("用户名通过");
                $("#tipNameMsg").removeClass("alert-danger");  //移除红色
                $("#tipNameMsg").addClass("alert-success");    //显示绿色
            }
        }
    })
}

//注册表单的提交
function register() {
    var datas = $("#regForm").serialize();  //获取注册表单的数据
    var pwd = hex_md5(document.getElementById("firstpwd").value);
    datas += "&password=" + pwd;
    $.ajax({
        url: "/user/register",
        data: datas,
        method: "post",
        success: function (data) {
            if(data == "success"){
                alert("注册成功，请登录！");
                $("#register").modal('hide'); //关闭注册框
            }else if (data == "102"){
                alert("注册失败，用户名已存在！");
            }else if(data == "103"){
                alert("注册失败，短信验证码错误！");
            }
        }
    })
}

//登录 与 验证
function login() {
    // var datas = $("#loginForm").serialize(); //获取登录表单的数据
    $("#userNameTip").css("display", "none"); //隐藏用户名提示信息
    $("#userPwdTip").css("display", "none");  //隐藏密码提示信息
    var pwd = hex_md5(document.getElementById("password").value);
    var name = document.getElementById("username").value;
    var datas = {"username": name, "password": pwd};
    $.ajax({
        url: "/user/login",
        data: datas,
        method: "post",
        success: function (data) {
            if(data == '100'){
                $("#loginModal").modal('hide'); //登录成功 关闭登录模态框
                window.location.href = "/index"; //返回首页
            }else if(data == '101') {
                $("#userNameTip").css("display", "block"); //显示用户名提示信息
            }else {
                $("#userPwdTip").css("display", "block"); //显示密码提示信息
            }
        }
    })
}

// 短信登录
function phoneLogin() {
    $("#userPhoneCodeTip").css("display", "none"); // 隐藏验证码提示信息
    $("#userPhoneMsg").css("display", "none");  //隐藏手机号提示信息
    var loginCode = document.getElementById("loginCode").value;
    var loginPhone = document.getElementById("loginPhone").value;
    var datas = {"code": loginCode, "phone": loginPhone};
    $.ajax({
        url: "/user/phoneLogin",
        data: datas,
        method: "post",
        success: function (data) {
            if(data == '100'){
                $("#myPhoneModal").modal('hide'); //登录成功 关闭登录模态框
                window.location.href = "/index"; //返回首页
            } else {
                $("#userPhoneCodeTip").css("display", "block"); //显示密码提示信息
            }
        }
    })
}

//验证两次密码是否一致
function checkPwd() {
    var firstPwd = document.getElementById("firstpwd").value;
    var lastPwd = document.getElementById("lastpwd").value;
    if(firstPwd == '' || firstPwd == undefined){
        $("#registPwd").css("display", "block");  //显示提示
        $("#passwordMsg").html("请输入密码");
        $("#passwordMsg").removeClass("alert-success"); //移除绿色
        $("#passwordMsg").addClass("alert-danger");     //显示红色
    } else if(firstPwd != lastPwd){
        $("#registPwd").css("display", "block");  //显示提示
        $("#passwordMsg").html("两次密码不一致");
        $("#passwordMsg").removeClass("alert-success"); //移除绿色
        $("#passwordMsg").addClass("alert-danger");     //显示红色
    }else {
        $("#registPwd").css("display", "block");  //显示提示
        $("#passwordMsg").html("密码通过");
        $("#passwordMsg").removeClass("alert-danger");  //移除红色
        $("#passwordMsg").addClass("alert-success");    //显示绿色
    }
}